The present invention relates generally to apparatus and methods for producing waveforms of musical tones, voices or other sounds on the basis of waveform data supplied from memory or the like, and more particularly to an improved waveform producing apparatus and method capable of producing waveforms that faithfully represent tone color variations effected by a player using various styles of rendition (i.e., performing techniques) or various sorts of articulation unique to a natural musical instrument. It should be appreciated that the basic principles of the present invention can be applied extensively to every type of equipment, apparatus and methods having the function of generating musical tones, voices or any other sounds, such as automatic performance devices, computers, electronic game devices and multimedia-related devices, not to mention electronic musical instruments. Also, let it be assumed that the terms xe2x80x9ctone waveformxe2x80x9d in this specification are not necessarily limited to a waveform of a musical tone alone and are used in a much broader sense that may embrace a waveform of a voice or any other type of sound.
The so-called xe2x80x9cwaveform memory readoutxe2x80x9d technique has already been well known, which prestores waveform data (i.e., waveform sample data) coded in a given coding scheme, such as the PCM (Pulse Code Modulation), DPCM (Differential Pulse Code Modulation) or ADPCM (Adaptive Differential Pulse Code Modulation), and then reads out the thus-prestored waveform data at a rate corresponding to a desired tone pitch to thereby produce a tone waveform. So far, various types of xe2x80x9cwaveform memory readoutxe2x80x9d technique have been proposed and known in the art, most of which are directed to producing a waveform covering from the start to end of a tone. As one specific example of the waveform memory readout technique, there has been known a scheme of prestoring waveform data of a complete waveform of a tone covering from the start to end thereof. As another example of the waveform memory readout technique, there has been known a scheme of prestoring waveform data of a complete waveform only for a particular portion, such as an attach portion, of a tone presenting relatively complex variations and prestoring a predetermined loop waveform for a sustain portion and the like presenting less variations. In this patent specification, the terms xe2x80x9cloop waveformxe2x80x9d are used to refer to a waveform to be read out repeatedly, i.e., in a looped fashion.
With the conventional waveform memory readout scheme of prestoring waveform data of a complete waveform of a tone covering from the start to end thereof or prestoring waveform data of a complete waveform only for a particular portion, such as an attach portion, of a tone, however, it has been necessary to prestore a great number of various waveform data corresponding to a variety of styles of rendition (or various sorts of articulation), which would undesirably require a large storage capacity.
Further, although the above-mentioned scheme of prestoring waveform data of a complete waveform of a tone can faithfully express tone color variations effected using various styles of rendition (or various sorts of articulation) unique to a natural musical instrument, it can only reproduce the tone in just the same way as the prestored waveform data and thus would afford very poor controllability and editability. For instance, with this waveform memory readout scheme, it has been extremely difficult to control time-axial and other characteristics of the waveform data, corresponding to a desired style of rendition (or sort of articulation), in accordance with performance data.
It is therefore an object of the present invention to provide a waveform producing method and apparatus which can produce high-quality waveform data corresponding to a variety of styles of rendition (or various sorts of articulation) in a simplified manner with greatly increased facility and controllability.
In order to accomplish the above-mentioned object, the present invention provides a waveform producing method which comprises the steps of: receiving style-of-rendition stream data describing a series of performance tones by a combination of a plurality of styles of rendition; generating vector data to be used for producing waveforms for the styles of rendition, on the basis of the received style-of-rendition stream data; and producing waveforms corresponding to the styles of rendition described by the style-of-rendition stream data, on the basis of the generated vector data.
According to the present invention thus arranged, a waveform corresponding to a tone performed with desired styles of rendition can be produced from vector data generated on the basis of received style-of-rendition stream data. The style-of-rendition stream data describes a series of performance tones by a combination of characteristics of a plurality of styles of rendition. For example, there may be combined styles of rendition corresponding to partial tone segments such as an attack, body and release portions and a style of rendition corresponding to a link or joint segment between adjoining tones such as a slur or a style of rendition corresponding to a specially performed tone segment such as a vibrato or a style of rendition corresponding to a plurality of notes constituting a phrase. Given style-of-rendition stream is supplied in accordance with a performance to be reproduced. Vector data to be generated for producing waveforms for the individual styles of rendition correspond, for example, to various fundamental waveform factors for producing the waveform. Examples of the fundamental waveform factors include a waveform shape (that determines a tone color or timbre), pitch variation over time and amplitude variation over time, and vector data of these waveform factors are called a waveform shape vector, pitch vector and amplitude vector, respectively. Time vector representing a progression of the time axis of the waveform may also be used. The respective time axes of the waveform shape vector, pitch vector, amplitude vector, etc. can be controlled in accordance with the time vector.
Waveform or envelope segments corresponding to the various waveform factors can be built along the reproducing time axis of the performance tones by arranging the individual vector data on the time axis. Thus, a waveform of each of the performance tones is produced on the basis of the individual vector data arranged on the time axis. There can be produced performance tone waveforms corresponding to the styles of rendition described by the style-of-rendition stream, for example, by imparting, to the waveform shape vector, a pitch and time variation characteristics of the pitch corresponding to the pitch vector and amplitude and time variation characteristics of the amplitude corresponding to the amplitude vector.
The above-mentioned step of generating vector data may include a step of reading out, from a predetermined database, vector data corresponding to the styles of rendition. The above-mentioned step of generating vector data may further include a step of modifying the vector data read out from the predetermined database.
Namely, because the vector data prestored in the data base can be selectively read out and modified as desired, the present invention allows style-of-rendition waveforms rich in variations to be produced with a simplified structure and enhanced controllability.
The present invention also provides a waveform producing method which comprises the steps of: receiving style-of-rendition stream data including waveform shape stream data indicative of waveform shapes of a plurality of styles of rendition constituting a series of performance tones and amplitude stream data indicative of amplitude variations over time for the plurality of styles of rendition; generating waveform shape vector data indicative of waveform shapes for the styles of rendition, on the basis of the received waveform shape stream data; generating amplitude vector data indicative of amplitude variations over time for the styles of rendition, on the basis of the received amplitude stream data; and producing waveforms corresponding to the styles of rendition described by the style-of-rendition stream data, on the basis of the generated waveform shape vector data and amplitude vector data.
This waveform producing method generates waveform shape vector data indicative of waveform shapes for a plurality of styles of rendition constituting a series of performance tones in accordance with the waveform shape stream data, and generates amplitude stream data indicative of amplitude variations over time for the plurality of styles of rendition in accordance with the amplitude stream data. Then, waveforms corresponding to the styles of rendition described by the style-of-rendition stream data are produced on the basis of the generated waveform shape vector data and amplitude vector data. For example, the style-of-rendition stream data is organized in correspondence with various fundamental waveform factors for producing the waveforms for the plurality of styles of rendition constituting a series of performance tones. Examples of the fundamental waveform factors include, for example, a waveform shape (that determines a tone color or timbre) and amplitude variation over time, and style-of-rendition stream data of these waveform factors are called waveform shape stream data and amplitude stream data, respectively.
The present invention also provides a waveform producing method which comprises the steps of: receiving style-of-rendition stream data including harmonic component stream data indicative of harmonic component variations for a plurality of styles of rendition constituting a series of performance tones and nonharmonic component stream data indicative of nonharmonic component variations for the plurality of styles of rendition; generating harmonic component waveforms for the styles of rendition, on the basis of the received harmonic component stream data; generating nonharmonic component waveforms for the styles of rendition, on the basis of the received nonharmonic component stream data; and producing waveforms corresponding to the styles of rendition described by the style-of-rendition stream data, on the basis of the generated harmonic component waveforms and nonharmonic component waveforms.
This waveform producing method generates harmonic component waveforms for a plurality of styles of rendition constituting a series of performance tones in accordance with the harmonic component stream data, and generates nonharmonic component waveforms for the plurality of styles in accordance with the nonharmonic component stream data. Then, waveforms corresponding to the styles of rendition described by the style-of-rendition stream data are produced on the basis of the generated harmonic and nonharmonic component waveforms. Namely, the style-of-rendition stream data is organized here in correspondence with not only the above-mentioned various fundamental waveform factors such as the waveform shape stream data and amplitude stream data but also other fundamental waveform factors for producing the waveforms. Examples of the other fundamental waveform factors include harmonic and nonharmonic components, and style-of-rendition stream data of these waveform factors are called harmonic component stream data and nonharmonic component stream data, respectively.
The present invention also provides a waveform producing method which comprises the steps of: receiving style-of-rendition stream data including waveform shape stream data indicative of waveform shapes for a plurality of styles of rendition constituting a series of performance tones, and time control stream data including identification data to be used for performing stretch/compression control on a time-axial progression for the plurality of styles of rendition; generating waveform shape vector data indicative of waveform shapes for the styles of rendition, on the basis of the received waveform shape stream data; generating time vector data indicative of the time-axial progression, on the basis of the received time control stream data; performing stretch/compression control on a time axis of the waveform shape vector data on the basis of the generated time vector data; and producing waveforms corresponding to the styles of rendition described by the style-of-rendition stream data, on the basis of the waveform shape vector data with the time axis controlled by the stretch/compression control.
This waveform producing method generates waveform shape vector data indicative of waveform shapes for a plurality of styles of rendition constituting a series of performance tones in accordance with the waveform shape stream data, and generates time vector data indicative of a time-axial progression in accordance with the time control stream data. Then, control is performed to arrange the waveform shape vector data on the time axis on the basis of the generated time vector data. Thus, waveforms corresponding to the styles of rendition described by the style-of-rendition stream data can be produced on the basis of the waveform shape vector data arranged on the time axis.
By the style-of-rendition stream data being made up of stream data of various waveform factors, waveform components and time control stream data as set out above, the present invention can perform fine control on a plurality of styles of rendition described by such style-of-rendition stream data in a simplified manner.
The present invention may be constructed and implemented not only as the method invention as discussed above but also as an apparatus invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a program. Furthermore, the processor used in the present invention may comprise a dedicated processor based on predetermined fixed hardware circuitry, rather than a general-purpose type processor capable of running software.